<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>问题</title>
</head>
<body>
<script>
/*
* 既然Object是一切类的父类 那么下面这样写为什么出错
* */

class Rabbit extends Object {
  constructor(name) {
    /*
    * 因为没有写super() 这是强制性的 虽然对象访问方法是访问的是父类身上的方法 但是不调用super的话子类没有必要的属性
    * 也是个隐患
    *
    * 可以理解为super()是将父类构造函数中定义的有值的属性定义在子类的实例身上
    *   super(xxx) 是调用父类的有参构造
    *
    * */
    this.name = name;
  }
}

let rabbit = new Rabbit("Rab");
/*
* 如果这里成功继承的话类对象可以调用父类的静态方法
* */
Rabbit.defineProperty()

alert( rabbit.hasOwnProperty('name') ); // Error
</script>
</body>
</html>